home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 14 / CU Amiga Magazine's Super CD-ROM 14 (1997)(EMAP Images)(GB)(Track 1 of 3)[!][issue 1997-09].iso / CUCD / Programming / RKMLibsPrgs / graphics_libraries / sprites_bobs / animtools.h < prev    next >
C/C++ Source or Header  |  1992-09-03  |  5KB  |  95 lines

  1. /* animtools.h
  2.  
  3.  
  4. Copyright (c) 1992 Commodore-Amiga, Inc.
  5.  
  6. This example is provided in electronic form by Commodore-Amiga, Inc. for
  7. use with the "Amiga ROM Kernel Reference Manual: Libraries", 3rd Edition,
  8. published by Addison-Wesley (ISBN 0-201-56774-1).
  9.  
  10. The "Amiga ROM Kernel Reference Manual: Libraries" contains additional
  11. information on the correct usage of the techniques and operating system
  12. functions presented in these examples.  The source and executable code
  13. of these examples may only be distributed in free electronic form, via
  14. bulletin board or as part of a fully non-commercial and freely
  15. redistributable diskette.  Both the source and executable code (including
  16. comments) must be included, without modification, in any copy.  This
  17. example may not be published in printed form or distributed with any
  18. commercial product.  However, the programming techniques and support
  19. routines set forth in these examples may be used in the development
  20. of original executable software products for Commodore Amiga computers.
  21.  
  22. All other rights reserved.
  23.  
  24. This example is provided "as-is" and is subject to change; no
  25. warranties are made.  All use is at your own risk. No liability or
  26. responsibility is assumed.
  27.  
  28. */
  29.  
  30. #ifndef GELTOOLS_H
  31. #define GELTOOLS_H
  32.  
  33. /*
  34. ** These data structures are used by the functions in animtools.c to
  35. ** allow for an easier interface to the animation system.
  36. */
  37.  
  38. /* Data structure to hold information for a new VSprite.                */
  39. typedef struct newVSprite {
  40.         WORD           *nvs_Image;      /* image data for the vsprite   */
  41.         WORD           *nvs_ColorSet;   /* color array for the vsprite  */
  42.         SHORT           nvs_WordWidth;  /* width in words               */
  43.         SHORT           nvs_LineHeight; /* height in lines              */
  44.         SHORT           nvs_ImageDepth; /* depth of the image           */
  45.         SHORT           nvs_X;          /* initial x position           */
  46.         SHORT           nvs_Y;          /* initial y position           */
  47.         SHORT           nvs_Flags;      /* vsprite flags                */
  48.         USHORT          nvs_HitMask;    /* Hit mask.                    */
  49.         USHORT          nvs_MeMask;     /* Me mask.                     */
  50.         } NEWVSPRITE;
  51.  
  52. /* Data structure to hold information for a new Bob.                */
  53. typedef struct newBob {
  54.         WORD       *nb_Image;       /* image data for the bob       */
  55.         SHORT       nb_WordWidth;   /* width in words               */
  56.         SHORT       nb_LineHeight;  /* height in lines              */
  57.         SHORT       nb_ImageDepth;  /* depth of the image           */
  58.         SHORT       nb_PlanePick;   /* planes that get image data   */
  59.         SHORT       nb_PlaneOnOff;  /* unused planes to turn on     */
  60.         SHORT       nb_BFlags;      /* bob flags                    */
  61.         SHORT       nb_DBuf;        /* 1=double buf, 0=not          */
  62.         SHORT       nb_RasDepth;    /* depth of the raster          */
  63.         SHORT       nb_X;           /* initial x position           */
  64.         SHORT       nb_Y;           /* initial y position           */
  65.         USHORT      nb_HitMask;     /* Hit mask.                    */
  66.         USHORT      nb_MeMask;      /* Me mask.                     */
  67.         } NEWBOB ;
  68.  
  69. /* Data structure to hold information for a new animation component.       */
  70. typedef struct newAnimComp {
  71.         WORD  (*nac_Routine)(); /* routine called when Comp is displayed.   */
  72.         SHORT   nac_Xt;         /* initial delta offset position.           */
  73.         SHORT   nac_Yt;         /* initial delta offset position.           */
  74.         SHORT   nac_Time;       /* Initial Timer value.                     */
  75.         SHORT   nac_CFlags;     /* Flags for the Component.                 */
  76.         } NEWANIMCOMP;
  77.  
  78. /* Data structure to hold information for a new animation sequence.         */
  79. typedef struct newAnimSeq {
  80.         struct AnimOb  *nas_HeadOb; /* common Head of Object.               */
  81.         WORD   *nas_Images;         /* array of Comp image data             */
  82.         SHORT  *nas_Xt;             /* arrays of initial offsets.           */
  83.         SHORT  *nas_Yt;             /* arrays of initial offsets.           */
  84.         SHORT  *nas_Times;          /* array of Initial Timer value.        */
  85.         WORD (**nas_Routines)();    /* Array of fns called when comp drawn  */
  86.         SHORT   nas_CFlags;         /* Flags for the Component.             */
  87.         SHORT   nas_Count;          /* Num Comps in seq (= arrays size)     */
  88.         SHORT   nas_SingleImage;    /* one (or count) images.               */
  89.         } NEWANIMSEQ;
  90.  
  91. #define INTUITIONNAME "intuition.library" /* intuitionbase.h does not define a library name. */
  92.  
  93. #include "animtools_proto.h"              /* Include Prototyping. */
  94. #endif
  95.